import BaseModel from './BaseModel'
import API from '@/api/apis'
import { DateFormat } from 'yb-tool'

/**
 * 学习时间轴
 */
class StudyTimeLineModel extends BaseModel {
  // 构造方法
  constructor() {
    super()
    /**
     * 标题
     * @type {string}
     */
    this.title = ''
    /**
     * 时间
     * @type {Date}
     */
    this.date = null
    this.dateStr = ''
    /**
     * 内容
     * @type {string}
     */
    this.content = ''

    /**
     * ====================== URL 相关 ====================================
     */
    /**
     * 获取详情数据的URL
     * @type {String}
     */
    this.detailUrl = API.studyTimeLine.detail
    /**
     * 删除数据的URL
     * @type {String}
     */
    this.removeUrl = API.studyTimeLine.remove
    /**
     * 添加数据的URL
     * @type {String}
     */
    this.addUrl = API.studyTimeLine.add
    /**
     * 更新数据的URL
     * @type {String}
     */
    this.updateUrl = API.studyTimeLine.update
    /**
     * 添到回收站的URL
     * @type {String}
     */
    this.dustbinPushUrl = API.studyTimeLine.dustbinPush
    /**
     * 回收站还原的URL
     * @type {String}
     */
    this.dustbinPopUrl = API.studyTimeLine.dustbinPop
    /**
     * 添加修改数据的KEY数组
     * @type {Array}
     */
    this.addOrUpdateKeyArr = ['title', 'date', 'content']
  }

  /**
   * 覆盖父类方法，
   * @param json 要设置的数据
   */
  setDataWithJson(json) {
    super.setDataWithJson(json)
    this.date = new Date(json.date)
    this.dateStr = DateFormat(this.date, 'YYYY-MM-DD')
  }
}

/**
 * 列表加载URL
 * @type {String}
 */
StudyTimeLineModel.listUrl = API.studyTimeLine.all
/**
 * 获取所有回收站数据
 * @type {String}
 */
StudyTimeLineModel.dustbinAllUrl = API.studyTimeLine.dustbinAll

export default StudyTimeLineModel
